import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

export default new Vuex.Store({
  // 全局状态数据源
  state: {
    userState: localStorage.getItem('userState') === 'true',
    token: localStorage.getItem('token'),
    userId: localStorage.getItem('userid'),
    orderState: JSON.parse(localStorage.getItem('orderState'))
  },
  // 相当于组件的计算属性，监听全局状态的改变做相应的操作
  getters: {
  },
  // 修改state的唯一方法,修改state全局状态需要调用这里的方法---不支持异步
  mutations: {
    outLogin (store, data) {
      store.userState = data.userState
      store.token = data.token
      store.userId = data.userId
    },
    changeOrder (store, data) {
      store.orderState = data
    }
  },
  // 异步操作可以调用这里的方法在调用mutations修改状态
  actions: {
  },
  // 状态模块化
  modules: {
  }
})
